* {
  box-sizing: border-box; }

html, body, .PoseNet, .tv, .tv-inner {
  width: 100%;
  height: 100%; }

html, body, .PoseNet {
  display: flex;
  justify-content: center;
  align-items: center; }

html, body {
  margin: 0; }

#example {
  flex-grow: 1;
  height: 100%; }

@media (min-width: 600px) {
  #example {
    flex-grow: unset;
    width: 600px;
    height: 500px; } }

.PoseNet__loading {
  position: absolute;
  font-family: 'Open Sans';
  font-size: 2em; }

.PoseNet video {
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  display: none; }

@-webkit-keyframes Gradient {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@-moz-keyframes Gradient {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@keyframes Gradient {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

body {
  color: #fff;
  background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
  background-size: 400% 400%;
  -webkit-animation: Gradient 15s ease infinite;
  -moz-animation: Gradient 15s ease infinite;
  animation: Gradient 15s ease infinite; }

.tv {
  border: 10px solid #333;
  border-radius: 15px;
  background-clip: border-box;
  position: relative;
  background: #000; }
  .tv:after, .tv:before {
    position: absolute;
    content: "";
    background: #333; }
  .tv:after {
    width: 40px;
    height: 50px;
    bottom: -50px;
    left: 50%;
    margin-left: -20px; }
  .tv:before {
    width: 130px;
    height: 10px;
    bottom: -50px;
    left: 50%;
    margin-left: -65px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px; }
  .tv-inner {
    overflow: hidden;
    position: relative; }
